# $Id$
# Maintainer: AndyRTR <andyrtr@archlinux.org>
# Contributor: Mantas Mikulėnas <grawity@gmail.com>

pkgname=gssproxy
pkgver=0.8.0
pkgrel=1
pkgdesc="GSSAPI Proxy"
arch=(x86_64)
url="https://pagure.io/gssproxy"
license=('custom: MIT')
depends=('krb5' 'popt' 'ding-libs')
makedepends=('popt' 'libxslt' 'systemd' 'docbook-xsl' 'doxygen'  'po4a')
options=('emptydirs' 'makeflags')
backup=(etc/gssproxy/{gssproxy,24-nfs-server,80-httpd,99-nfs-client}.conf
        etc/gss/mech.d/gssproxy.conf)
source=(https://releases.pagure.org/gssproxy/$pkgname-$pkgver.tar.gz)
sha512sums=('f3b8f053d6750d7ee6ab2bfb6bfc4dc1ac2e2f354f923590340bb3c522f57cc881df5a2850750bc00c0dcacf2ae173549dc3bb9ece4512cf2f39869527afc2ec')

prepare() {
  cd "$srcdir/gssproxy-$pkgver"
  # delete unneeded service dependency
  sed -i "/# GSSPROXY will not be started until syslog is/d" systemd/gssproxy.service.in
  sed -i "/^After=syslog.target/d" systemd/gssproxy.service.in
  
  # see http://pkgs.fedoraproject.org/cgit/nfs-utils.git/tree/nfs-utils.spec creating symlinks
  # rpc-gssd.service is nfs-secure.service
  sed -i "s/nfs-secure.service/rpc-gssd.service/" systemd/gssproxy.service.in
  # rpc.svcgssd is nfs-secure-server.service
  sed -i "s/nfs-secure-server.service/rpc-svcgssd.service/" systemd/gssproxy.service.in

#  autoreconf -vfi
}

build() {
  cd gssproxy-$pkgver
  # make it find bundled verto from krb5 without its own pkg-config file
  export VERTO_CFLAGS="-I/usr/include"
  export VERTO_LIBS="-L/usr/lib -lverto"
  ./configure --prefix=/usr \
    --sysconfdir=/etc  \
    --with-pubconf-path=/etc/gssproxy \
    --sbindir=/usr/bin \
    --localstatedir=/var \
    --without-selinux \
    --with-initscript=systemd \
    --with-gpp-default-behavior=REMOTE_FIRST

#LOCAL_FIRST|LOCAL_ONLY|REMOTE_FIRST|REMOTE_ONLY
#                          Which default behavior the gssproxy interposer
#                          plugin should use [LOCAL_FIRST]
#--help
  make
}

check() {
  cd $pkgname-$pkgver
  make test_proxymech
}


package() {
  cd gssproxy-$pkgver
  make DESTDIR=$pkgdir install
  
  # cleanup empty directories
  rm -rf $pkgdir/usr/include
  rm -rf $pkgdir/usr/share/doc

  # install default config files
  install -m644 examples/gssproxy.conf $pkgdir/etc/gssproxy/gssproxy.conf
  # nfs services
  install -m644 examples/24-nfs-server.conf $pkgdir/etc/gssproxy/24-nfs-server.conf
  install -m644 examples/99-nfs-client.conf $pkgdir/etc/gssproxy/99-nfs-client.conf
  # httpd service / use Arch UID/GID http/33 (by pkg filesystem)
  install -m644 examples/80-httpd.conf $pkgdir/etc/gssproxy/80-httpd.conf
  sed -i -e "s:euid = apache:euid = http:" $pkgdir/etc/gssproxy/80-httpd.conf

  install -Dm644 examples/mech  $pkgdir/etc/gss/mech.d/gssproxy.conf
  
  # FS#51574
  install -m700 -d ${pkgdir}/var/lib/gssproxy/rcache

  install -m755 -d ${pkgdir}/usr/share/licenses/$pkgname
  install -m644 COPYING ${pkgdir}/usr/share/licenses/$pkgname/
}
